package com.example.freemarker.f2;

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;

import java.io.File;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by Administrator on 2017/2/6 0006.
 */


public class Test {
    public static void main(String[] args) throws Exception {
        /* 在整个应用的生命周期中，这个工作你应该只做一次。 */
        /* 创建和调整配置。 */
        Configuration cfg = new Configuration();
        cfg.setDirectoryForTemplateLoading( new File("D:/aomj"));
        cfg.setObjectWrapper(new DefaultObjectWrapper());

        /* 在整个应用的生命周期中，这个工作你可以执行多次 */
        /* 获取或创建模板*/
        Template temp = cfg.getTemplate("mtest.ftl");

        /* 创建数据模型 */
        Map root = new HashMap();
        root.put("user", "Big Joe");
        Map latest = new HashMap();
        root.put("latestProduct", latest);
        latest.put("url", "index.html");
        latest.put("name", "green mouse");

        /* 将模板和数据模型合并 */
        Writer out = new OutputStreamWriter(System.out);
        /*为了简单起见， 这里压制了异常（在方法签名中声明了异常，译者注），而在正式运行
        的产品中不要这样做。*/
        temp.process(root, out);
        out.flush();
    }
}
